\hypertarget{classTuna_1_1Mesh}{
\subsection{Tuna::Mesh$<$ Tmesh $>$ Class Template Reference}
\label{classTuna_1_1Mesh}\index{Tuna::Mesh@{Tuna::Mesh}}
}


General class for meshes.  


\subsubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef Typeinfo$<$ Tmesh $>$::\hyperlink{classTuna_1_1Mesh_a79c0813866ecb690735d8d9b3bf8f89c}{prec\_\-t} \hyperlink{classTuna_1_1Mesh_a79c0813866ecb690735d8d9b3bf8f89c}{prec\_\-t}
\begin{DoxyCompactList}\small\item\em Precision used for the numerical operations. \item\end{DoxyCompactList}\item 
\hypertarget{classTuna_1_1Mesh_af86367aa40f3dcc88dd3638c2e038751}{
typedef \hyperlink{structTuna_1_1TunaArray}{TunaArray}$<$ \hyperlink{classTuna_1_1Mesh_a79c0813866ecb690735d8d9b3bf8f89c}{prec\_\-t}, 1 $>$::huge \hyperlink{classTuna_1_1Mesh_af86367aa40f3dcc88dd3638c2e038751}{ScalarField1D}}
\label{classTuna_1_1Mesh_af86367aa40f3dcc88dd3638c2e038751}

\begin{DoxyCompactList}\small\item\em Arrays for numbers. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTuna_1_1Mesh_a66f3853bfedf35ecc89f597cab6745d8}{
Tmesh \& \hyperlink{classTuna_1_1Mesh_a66f3853bfedf35ecc89f597cab6745d8}{asDerived} ()}
\label{classTuna_1_1Mesh_a66f3853bfedf35ecc89f597cab6745d8}

\begin{DoxyCompactList}\small\item\em This funtion gets an returns a reference to the derived class, using the Curiously Recursive Template Pattern (CRTP). \item\end{DoxyCompactList}\item 
\hypertarget{classTuna_1_1Mesh_a47a5560e7bb6dcb2f13ffcc48f042072}{
bool \hyperlink{classTuna_1_1Mesh_a47a5560e7bb6dcb2f13ffcc48f042072}{calcPoints} ()}
\label{classTuna_1_1Mesh_a47a5560e7bb6dcb2f13ffcc48f042072}

\begin{DoxyCompactList}\small\item\em Delegate responsabilities to derived classes. \item\end{DoxyCompactList}\item 
\hypertarget{classTuna_1_1Mesh_aefd043c52415901b9cf6bf5f231028fa}{
bool \hyperlink{classTuna_1_1Mesh_aefd043c52415901b9cf6bf5f231028fa}{calcElements} ()}
\label{classTuna_1_1Mesh_aefd043c52415901b9cf6bf5f231028fa}

\begin{DoxyCompactList}\small\item\em Delegate responsabilities to derived classes. \item\end{DoxyCompactList}\item 
\hyperlink{classTuna_1_1Mesh_af86367aa40f3dcc88dd3638c2e038751}{ScalarField1D} \hyperlink{classTuna_1_1Mesh_a102cde9073e547876b39a1c6f012cf30}{getCoord} (Axis\_\-t a)
\begin{DoxyCompactList}\small\item\em Returns a std::vector$<$prec\_\-t$>$ with the coordinates distribution in the axis defined by the parameter {\ttfamily a}. \item\end{DoxyCompactList}\item 
void \hyperlink{classTuna_1_1Mesh_ab8d62e3bb8736133952e2ddbf48590c6}{writeToFile} (string filename)
\begin{DoxyCompactList}\small\item\em Write the coordinates of the mesh to a file. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsubsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classTuna_1_1Mesh_a735885fadc04c198458ffc871eabd186}{
int \hyperlink{classTuna_1_1Mesh_a735885fadc04c198458ffc871eabd186}{Dim}}
\label{classTuna_1_1Mesh_a735885fadc04c198458ffc871eabd186}

\begin{DoxyCompactList}\small\item\em Dimension of the mesh. \item\end{DoxyCompactList}\item 
\hypertarget{classTuna_1_1Mesh_a737103720d5300f0de5765cda291a06d}{
vector$<$ \hyperlink{classTuna_1_1Mesh_a79c0813866ecb690735d8d9b3bf8f89c}{prec\_\-t} $>$ \hyperlink{classTuna_1_1Mesh_a737103720d5300f0de5765cda291a06d}{xyz} \mbox{[}3\mbox{]}}
\label{classTuna_1_1Mesh_a737103720d5300f0de5765cda291a06d}

\begin{DoxyCompactList}\small\item\em Coordinate arrays. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsubsection{Detailed Description}
\subsubsection*{template$<$typename Tmesh$>$ class Tuna::Mesh$<$ Tmesh $>$}

This class is the root of the hierarchy for mesh classes. This should be an \char`\"{}abstract\char`\"{} class from the point of view of the design. The functions {\ttfamily \hyperlink{classTuna_1_1Mesh_a47a5560e7bb6dcb2f13ffcc48f042072}{calcPoints()}} and {\ttfamily \hyperlink{classTuna_1_1Mesh_aefd043c52415901b9cf6bf5f231028fa}{calcElements()}} should be implemented in the derived classes.

\begin{DoxyAuthor}{Author}
Luis M. de la Cruz \mbox{[} Sat Jan 19 18:16:37 GMT 2010 \mbox{]} 
\end{DoxyAuthor}


Definition at line 40 of file Mesh.hpp.



\subsubsection{Member Typedef Documentation}
\hypertarget{classTuna_1_1Mesh_a79c0813866ecb690735d8d9b3bf8f89c}{
\index{Tuna::Mesh@{Tuna::Mesh}!prec\_\-t@{prec\_\-t}}
\index{prec\_\-t@{prec\_\-t}!Tuna::Mesh@{Tuna::Mesh}}
\paragraph[{prec\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Tmesh$>$ typedef Typeinfo$<$Tmesh$>$::{\bf prec\_\-t} {\bf Tuna::Mesh}$<$ Tmesh $>$::{\bf prec\_\-t}}\hfill}
\label{classTuna_1_1Mesh_a79c0813866ecb690735d8d9b3bf8f89c}


Reimplemented in \hyperlink{classTuna_1_1StructuredMesh_a2466a6c86a4e811d7dff4fc63a9bb400}{Tuna::StructuredMesh$<$ Tadaptor $>$}, \hyperlink{classTuna_1_1StructuredMesh_a2466a6c86a4e811d7dff4fc63a9bb400}{Tuna::StructuredMesh$<$ Uniform$<$ Tprec, Dim $>$ $>$}, and \hyperlink{classTuna_1_1StructuredMesh_a2466a6c86a4e811d7dff4fc63a9bb400}{Tuna::StructuredMesh$<$ NonUniform$<$ Tprec, Dim $>$ $>$}.



Definition at line 44 of file Mesh.hpp.



\subsubsection{Member Function Documentation}
\hypertarget{classTuna_1_1Mesh_a102cde9073e547876b39a1c6f012cf30}{
\index{Tuna::Mesh@{Tuna::Mesh}!getCoord@{getCoord}}
\index{getCoord@{getCoord}!Tuna::Mesh@{Tuna::Mesh}}
\paragraph[{getCoord}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Tmesh$>$ {\bf ScalarField1D} {\bf Tuna::Mesh}$<$ Tmesh $>$::getCoord (
\begin{DoxyParamCaption}
\item[{Axis\_\-t}]{ a}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}\hfill}
\label{classTuna_1_1Mesh_a102cde9073e547876b39a1c6f012cf30}

\begin{DoxyParams}{Parameters}
\item[{\em a}]can be {\ttfamily X}, {\ttfamily Y} or {\ttfamily Z} \end{DoxyParams}


Definition at line 76 of file Mesh.hpp.

\hypertarget{classTuna_1_1Mesh_ab8d62e3bb8736133952e2ddbf48590c6}{
\index{Tuna::Mesh@{Tuna::Mesh}!writeToFile@{writeToFile}}
\index{writeToFile@{writeToFile}!Tuna::Mesh@{Tuna::Mesh}}
\paragraph[{writeToFile}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Tmesh$>$ void {\bf Tuna::Mesh}$<$ Tmesh $>$::writeToFile (
\begin{DoxyParamCaption}
\item[{string}]{ filename}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}\hfill}
\label{classTuna_1_1Mesh_ab8d62e3bb8736133952e2ddbf48590c6}
The file is in ASCII and 1, 2, or 3 columns are written depending on the dimension 1D, 2D or 3D respectively. 
\begin{DoxyParams}{Parameters}
\item[{\em filename}]is a string for the name of the output file. \end{DoxyParams}


Definition at line 95 of file Mesh.hpp.

